Grafanaで変換テーブルを使ってIDをメッセージに変換する
こんにちは。CX事業本部Delivery部のakkyです。
Grafanaでデータベースから情報を取得してきて表パネルに表示する場合、コード番号と文字列を対応させて変換したい場合があると思います。 たとえば、コード番号=1なら、同じ行に1に対応した文字列である「正常」を表示したい、ということですね。
データソースが通常のRDBであれば、単純にクエリにSQLを書き変換テーブルとJOINすれば済む話なのですが、GrafanaではSQLが使えないデータソースからもデータを取得することができます。 この場合は、Grafana自体で同様にデータを結合して表示することができます。
今回は、GrafanaでIDを文字列に変換する方法をご紹介します。
検証環境
Amazon Managed Grafana v8.4.7
データの用意
データソースには、実験用に元データと変換用テーブルの両方にTest Data DBのCSV Contentを使用します。
それぞれ、以下のようにしました。項目名で突合しますので、今回は「ID」という項目名は共通にしておきます。
元データ
発生日,ID 2023-1-2,1 2023-1-3,3 2023-1-3,2 2023-1-4,1
変換テーブル
ID,エラーメッセージ 1,正常 2,エラーA 3,エラーB 4,エラーC
データの結合方法
Transformタブへ移動し、Merge
とFilter data by values
を選択します。
Filter data by values
では、Filter typeをInclude
、ConditionsをMatch all
、Fieldで元データの項目名を一つ(今回の例では発生日
)、MatchをIs not null
とすれば完成です。
以下のように、2つの表を結合して表示することができました!
なお、Filter data by values
が必要な理由は、Mergeでは元データと変換テーブルが外部結合されるため、これを付けないと元データに含まれないIDが表示されてしまうためです。